草庐IT

Java TLS-PSK 套接字

全部标签

python - 如何在 python 程序中关闭 Ctrl-C 上的套接字连接

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.bind((HOST,PORT))s.listen(1)any_connection=FalsewhileTrue:try:conn,addr=s.accept()data=conn.recv(1024)any_connection=True#keeplookingifnotdata:continuepid=os.fork()ifpid==0:server_process(data,conn)exceptKeyboardInterrupt:breakifany_connection:

python - 如何获得非阻塞套接字连接()?

我这里有一个非常简单的问题。我需要同时与很多主机通信,但我真的不需要任何同步,因为每个请求都非常自给自足。因此,我选择使用异步套接字,而不是垃圾线程。现在我确实有一个小问题:异步的东西就像一个魅力,但是当我连接到100台主机时,我得到100次超时(超时=10秒)然后我等待1000秒,只是为了找出我所有的连接都失败了。有什么方法也可以实现非阻塞套接字连接吗?我的套接字已设置为非阻塞,但对connect()的调用仍在阻塞。减少超时不是一个可接受的解决方案。我在Python中执行此操作,但我想在这种情况下编程语言并不重要。我真的需要使用线程吗? 最佳答案

python套接字对象接受超时

问题:python中的socket.accept()函数是否有某种超时或中断?信息:我有一个程序,它有一个子线程绑定(bind)到一个端口,并不断接受和照料它们并将它们传递给主线程的队列。现在我正试图让子线程中断,以便它可以适本地解构。我认为我可以简单地停止子线程并让父线程解构子线程,但在其他时候我希望能够提前返回表单接受,所以我认为这是最有用的方法。那么,有没有一种方法可以让我暂停或取消接受方法,这样线程就可以返回,而无需先连接到它? 最佳答案 你可以像这个例子一样使用settimeout():importsockettcpSer

python - 将 Python xmlrpclib 与 unix 域套接字一起使用?

我正在尝试与supervisord交互,我想通过unix套接字(它是一个共享的托管环境)与它交谈。到目前为止我尝试过的是:importxmlrpclibserver=xmlrpclib.ServerProxy('unix:///path/to/supervisor.sock/RPC2')Traceback(mostrecentcalllast):File"",line1,inFile"/usr/local/lib/python2.7/xmlrpclib.py",line1549,in__init__raiseIOError,"unsupportedXML-RPCprotocol"IOE

客户端连接不稳定的python套接字服务器/客户端协议(protocol)

我有一个线程化的python套接字服务器,它为每个连接打开一个新线程。线程是一种非常简单的基于问答的交流。基本上客户端发送初始数据传输,服务器让它运行一个外部应用程序,该应用程序对传输进行处理并返回服务器将发回的回复,循环将再次开始,直到客户端断开连接。现在,因为客户端将在手机上,因此连接不稳定,我得到打开的线程不再连接,并且因为循环以recv开始,所以很难以这种方式中断连接丢失。我正在考虑在recv之前添加一个发送以测试连接是否仍然存在,但如果客户端在我的故障安全发送后断开连接,这可能根本无济于事,因为客户端仅每5秒发送一次数据流。我注意到recv有时会中断,但并非总是如此,在那些情

python - Python 中的 UDP 客户端/服务器套接字

我是python和套接字的新手,正在尝试编写一个回显客户端/服务器套接字。我已经编写了服务器,以便丢失30%的数据包。我将我的客户端编程为在一秒后超时,因为数据包可能会丢失。但是,每当我运行我的客户端套接字时,我的输出都是100%REQUESTTIMEDOUT。我假设我得到这个输出是因为我的服务器从未收到消息。我已经多次查看我的代码,但无法弄清楚为什么我会不断收到此输出。下面是我的服务器和客户端套接字代码。任何帮助,将不胜感激。服务器套接字:#Wewillneedthefollowingmoduletogeneraterandomizedlostpacketsimportrandomf

Python套接字突然超时?

我今天回到了一个旧的脚本上,该脚本用于通过SSL登录Gmail。该脚本在我上次运行时(几个月前)运行良好,但现在它立即死掉了:如果我设置超时(无论多长时间),它会立即死掉:后者可以重现:importsocketsocket.setdefaulttimeout(30000)sock=socket.socket()sock.connect(('www.google.com',443))ssl=socket.ssl(sock)返回:socket.sslerror:Theconnectoperationtimedout但我似乎无法重现前者,并且在多次遍历代码之后,我不知道是什么原因造成的。

python - 需要登录 Django Channels 套接字吗?

我正在Django1.10中试用Channels并设置一些消费者。我尝试为它创建一个login_required装饰器,在执行它之前关闭连接以防止访客进入这个私有(private)套接字。之后还集成了单元测试来测试它,但它们一直失败,因为它一直让客人进来(到处都是匿名用户错误)。此外,有时在登录和注销时session不会清除,它会让旧用户进入。装饰器:deflogin_required_websocket(func):"""Ifuserisnotloggedin,closeconnectionimmediately."""@functools.wraps(func)definner(m

python - 重写实时 TCP/IP(第 4 层)(即套接字层)流

我有一个简单的问题,我确定这里有人以前做过...我想重写第4层TCP/IP流(不是较低层的单个数据包或帧。)Ettercap的etterfilter命令可让您基于固定字符串执行第4层TCP/IP流的简单实时替换或正则表达式。示例ettercap脚本代码:if(ip.proto==TCP&&tcp.dst==80){if(search(DATA.data,"gzip")){replace("gzip","");msg("whitedoutgzip\n");}}if(ip.proto==TCP&&tcp.dst==80){if(search(DATA.data,"deflate")){re

python - python中的原始套接字和sendto

我正在努力将scapy与twisted集成,但我在OSX上遇到了这个我似乎无法弄清楚的非常奇怪的错误。基本上我无法通过原始套接字发送有效的TCP数据包(包括IPheader)。这就是我正在做的:importsocketfromscapy.allimportIP,TCPpkt=IP(src='0.0.0.0',dst='127.0.0.1')/TCP()spkt1=str(pkt)outs=socket.socket(socket.AF_INET,socket.SOCK_RAW,socket.IPPROTO_RAW)outs.setsockopt(socket.SOL_IP,socket